1. Field of the Invention
The present invention relates to a communication network for controlling devices in accordance with a communication protocol
2. Description of the Related Art
Communication networks for controlling devices such as lights or lighting fixtures, fans and other appliances or systems in residential or commercial settings have been developed. In general, the devices are electrical loads. These networks are part of remote control systems that permit a user to remotely control, for example, the state (e.g., ON, OFF, Intensity, . . . dim, bright, scene) of devices such as a light or a group of lights using handheld or wall mounted controllers. In some conventional remote control systems, wall mounted devices are adapted to receive signals from handheld controllers or wall mounted remote controllers. A controller is able to receive information about the status of a device being remotely controlled and the controller can display the status of such a device to a user even when the device is out of the user's view. Many conventional systems are implemented as wireless systems and some of these systems transmit and receive information using RF (Radio Frequency) signals.
An RF wireless system typically includes a Master controller for controlling dimmers/switches and the Master controller receives status information which it can display. In such a system, the Master controller broadcasts commands, such as status request commands, to the dimmers or switches. The dimmers or switches are examples of controllers that control devices such as light fixtures or fans. In response to the status request command from the Master controller, the controllers that control the devices broadcast the status of the controlled devices. The Master controller can then display the status of the devices based on the information broadcast by the controllers. The controllers that control the devices, as well as the Master controller, each represent a node of a network where each of these nodes is one or more components that can control one or more devices. Depending on the relative positioning of the different nodes with respect to each other and with respect to the Master controller, a message broadcast by the Master controller can be received by one or more or all of the nodes of the system. When a node cannot directly receive transmissions from the Master controller, the system uses repeaters so that all the nodes, if necessary, of the system are able to receive the Master controller's transmissions. The transmissions by the nodes (including the Master Controller) and the repeaters are, in essence, broadcasts that can be received by any node in the system. Because transmissions from the Master controller and transmissions from the controllers, with the help of repeaters, can be received anywhere in the system, a controller transmitting the status of a connected device doesn't have to specifically address any particular device or Master controller. Likewise, a Master controller transmitting its commands doesn't have to specifically address such commands to a particular controller in the system. Furthermore, because the messages are broadcast, the manner in which the messages are delivered to the node is not a consideration in such systems.
In many cases, a user may often want to know the status of a controlled device and more importantly a user may want to know whether the status of the device has been changed as a result of the manual operation of the device. Further, the status of the device may have changed as a result of a command sent from the Master Controller. That is, the controller controlling the device can change the status of the device due to a command from the Master controller or an actuation of the device or an actuation of the controller itself. Some systems are designed so that the controllers transmit the status of the device automatically upon the manual actuation of such a device or upon receiving a status request command from the Master controller. The status information transmitted by a controller of a device upon being manually actuated or upon receiving a command is known as ‘true status’. A main disadvantage with a ‘true status’ system is that transmission of much of the status information in many instances is not necessary and often leads to an inefficient system. For example, when the intensity of a light is being decreased from one level to its final desired level, the intensity actuator (e.g., intensity button or rocker switch) is depressed several times until the desired level is reached. In a ‘true status’ system, the controller controlling the light (i.e., the dimmer/switch), transmits each intermediate intensity level; that is, each time the intensity button is depressed, the current light level is transmitted. Such a system is inefficient not only because of the transmissions of the intermediate light levels draining energy from the system, but also because of the transmission of information that is superfluous and of little value. In such a scenario, the final intensity level of the light may be the only information that needs to be transmitted because that is the information which the system needs to know.
Another example is when a dimmer is fading from a current intensity level to OFF. While fading between discrete intensity levels, each such level is transmitted causing not only power usage problems as discussed above, but efficiency problems in terms of bandwidth and delay. In such systems, the transmission of the status is either delayed until the final value of the fade intensity is reached or the different intensity levels are transmitted during the fade. Either technique can lead to adverse conditions for the system. For example, when the transmission of the status information is delayed, other commands to be transmitted by the Master controller will also be delayed until the entire response from the fading device is received and there will also be a delay in when the status is displayed by the Master controller.
The delay is especially problematic in the case where controllers or devices have toggle action actuators. If a user mistakenly activates a button with toggle action, the user cannot reverse the action until the fading finishes and the final “true” status value has been received. Since fading time may vary in very wide limits from a few seconds to tens of minutes, this may create a long time during which the system can't be controlled. If the ‘true status’ approach is not used and the status is provided after a status request command is sent, the Master controller has to keep polling the dimmer for a relatively long period of time and may not know the length of the fading time and thus when to stop the polling leading to an inefficient system.
Also, it is quite common for a lighting system to have the need to control not a single device, but a group of devices. For example there may be a need to turn ON or OFF all lights in a room or an entire house, or to create a scene using a group of lights where the lights in the group are set at various intensity levels. In such a case one controller may be changing the state of a group of lights (via messages to controllers such as dimmers and switches) and other controllers may also be controlling the same group of lights and update their display appropriately. When the ‘true status’ approach is used the lights start to send back (via their connected controllers) their status reports as soon as the status gets changed. Since in case of the group operation many devices change their status at about the same time, a bottleneck of status information may develop resulting in the loss of information. Also, while a controller is transmitting the ‘true status’ of a connected device, the status may have changed because the controller has received another command from a local controller and thus the status information it is currently transmitting to the Master controller is inaccurate. In systems with limited bandwidth, the relatively large amount of information needed to be transmitted during certain time periods may overwhelm the system because the system is incapable of transmitting the large amount of information or the system is incapable of reacting quickly enough to status changes and status request commands. As a result, some systems will, for example, limit the number of lights in a group that it can properly control, or devise more sophisticated and thus more complicated and costly methods for controlling group of lights. For example, time slots can be reserved for certain controllers to allow them to control the group of lights at specific times without any interference from other controllers.
What is therefore needed is a system that can provide status information from devices in the system while avoiding the problems discussed above.